home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-06 / ipxstuff.zip / IPXFRX.C < prev    next >
C/C++ Source or Header  |  1992-06-22  |  3KB  |  102 lines

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <alloc.h>
  4.  
  5. #include "rkipx.h"
  6.  
  7. void ShowInstructions( void );
  8.  
  9. int main( int argc, char *argv[] )
  10. {
  11. BYTE      Socket[2];
  12. unsigned  rc, i;
  13. long      len;
  14. BYTE      *Buffer;
  15.  
  16. /* ==================================================== */
  17. /* ==================================================== */
  18.  
  19. if ( argc < (3+1) )  // mode, filename, socket, optional len
  20.   {
  21.   ShowInstructions();
  22.   return( -1 );
  23.   }
  24.  
  25. if ( toupper( argv[1][0] ) == 'F' )
  26.    {
  27.    printf( "\nATTEMPTING FILE RECEIPT\n" );
  28.  
  29.    len = 0;
  30.    rc = IPXReceiveRT( &len, argv[2], argv[3], NULL );
  31.    if ( rc != GOOD_IPX_RETURN )
  32.       {
  33.       printf( "\n" );
  34.       printf( "FUNCTION ERROR: %02X\n", rc );
  35.       printf( "  IPXAPI ERROR: %02X\n\n", IPXerrno );
  36.       return( -1 );
  37.       }
  38.  
  39.    printf( "\nSUCCESSFUL FILE RECEIPT\n" );
  40.  
  41.    }
  42.  
  43. if ( toupper( argv[1][0] ) == 'B' && argc == 5 )
  44.    {
  45.    printf( "\nATTEMPTING BUFFER RECEIPT\n" );
  46.  
  47.    len = atol( argv[4] );
  48.    Buffer = farcalloc( 1, len+1 );
  49.    if ( !Buffer )
  50.       {
  51.       printf( "\nPROBLEM WITH MEMORY ALLOCATION\n" );
  52.       return( -1 );
  53.       }
  54.  
  55.    rc = IPXReceiveRT( &len, Buffer, argv[3], NULL );
  56.    if ( rc != GOOD_IPX_RETURN )
  57.       {
  58.       printf( "\n" );
  59.       printf( "FUNCTION ERROR: %02X\n", rc );
  60.       printf( "  IPXAPI ERROR: %02X\n\n", IPXerrno );
  61.       farfree( Buffer );
  62.       return( -1 );
  63.       }
  64.  
  65.    printf( "\nSUCCESSFUL BUFFER RECEIPT: %ld bytes\n", len );
  66.    Buffer[len] = '\0';
  67.    printf( "%s", Buffer );
  68.    farfree( Buffer );
  69. }
  70.  
  71. return( 0 );
  72. }
  73.  
  74. /*******************************************************************/
  75. /*******************************************************************/
  76. void ShowInstructions( void )
  77. {
  78. printf( "\n\n\n" );
  79. printf( "╔════════════════════════════════════════════════════╗\n" );
  80. printf( "║ IPX File Receive Utility version 1.2  RK  6 Jun 92 ║\n" );
  81. printf( "║   (c) 1992 by R. Kvinnesland                       ║\n" );
  82. printf( "║                                                    ║\n" );
  83. printf( "║ USE:  IPXFRX p1 p2 p3 p4                           ║\n" );
  84. printf( "║       where p1 = 'B'(uffer) or 'F'(ile)            ║\n" );
  85. printf( "║             p2 = name of file                      ║\n" );
  86. printf( "║             p3 = socket (4 hex digits)             ║\n" );
  87. printf( "║             p4 = size of buffer                    ║\n" );
  88. printf( "║                                                    ║\n" );
  89. printf( "║ EXAMPLE:                                           ║\n" );
  90. printf( "║                                                    ║\n" );
  91. printf( "║ IPXFRX f myfile.dat 0420 <ENT>                     ║\n" );
  92. printf( "║ IPXFRX b xxxxxx.xxx 0420 2000<ENT>                 ║\n" );
  93. printf( "║                                                    ║\n" );
  94. printf( "╚════════════════════════════════════════════════════╝\n" );
  95. printf( "\n\n\n\n\n\n\n" );
  96. return;
  97. }
  98.  
  99. /* ======================================================================= */
  100. /* EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF */
  101. /* ======================================================================= */
  102.